
#include <iostream>
#include <string.h>
#include <unistd.h>

using namespace std;

class Furniture {
private:
	int weight;

public:
	void setWeight(int weight) {this-> weight = weight;}
	int getWeight(void) {return this-> weight;}
	Furniture(){cout << "Furniture()" << endl;}
	
};

class Verification3C{
public:
	Verification3C(){cout << "Verification3C()" << endl;}
};

class Sofa : virtual public Furniture,virtual public Verification3C {
private:
	int a;
public:
	void watchTV(void){
		cout << "watch TV " <<endl;
	}
	Sofa(){cout << "Sofa()" << endl;}

};


class Bed :virtual public Furniture ,virtual public Verification3C{
private:
	int b;
public:
	void sleep(void){
		cout << "sleep " <<endl;
	}
	Bed(){cout << "Bed()" << endl;}

};


class SofaBed : public Sofa ,public Bed {
private:
	int c;
public:
	SofaBed(){cout << "SofaBed()" << endl;}
	
};

class LeftRightCom {
public:
	LeftRightCom(){cout << "LeftRightCom()" << endl;}
};

class Date {
public :
	Date(){cout << "Date()" << endl;}
};

class Type {
public :
	Type(){cout << "Type()" << endl;}
};


class LeftRightSofaBed : public SofaBed ,  virtual public LeftRightCom{
private:
	Date date;
	Type type;

public :
		LeftRightSofaBed(){cout << "LeftRightSofaBed()" << endl;}

	
};




int main(int argc , char **argv)
{	
	LeftRightSofaBed s;
	return 0;
}











